package com.sunwayhorizo.health.business.clinic.orders.basedef;

import java.util.List;

import javax.ejb.Local;

import com.sunwayhorizo.health.business.dto.PageDTO;
import com.sunwayhorizo.health.business.dto.ResultsDTO;
import com.sunwayhorizo.health.business.dto.econ.InvoiceElementDTO;
import com.sunwayhorizo.health.hl7.common.Hl7Exception;
import com.sunwayhorizo.health.hl7.rim.InvoiceElement;


/**
 * @ClassName InvoiceElementDefManagerLocal <br>
 * @PackageName com.sunwayhorizo.health.business.clinic.orders.basedef <br>
 * @Description 费用明细接口 <br>
 * @Author jinzw <br>
 * @Date 2011-08-08 <br>
 * @Version 1.0 <br>
 * @ModifiedDesc <br>
 * @ModifiedDate <br>
 * @ModifiedBy <br>
 * @Copyright 2010-2020 北京三维海容 All Rights Reserved. <br>
 */

@Local
public interface InvoiceElementDefManagerLocal
{
  
    /**
     * 添加费用明细
     * @param invoiceElement 费用明细DTO
     * @return ResultsDTO
     * @throws Hl7Exception
     */
    public ResultsDTO newInvoiceElementDefManager(InvoiceElementDTO invoiceElement) throws Hl7Exception;
    
    /**
     * 添加费用明细
     * @param invoiceElement 费用明细DTO
     * @return InvoiceElement
     * @throws Hl7Exception
     */
    public InvoiceElement newInvoiceElementDet(InvoiceElementDTO invoiceElement) throws Hl7Exception;
    
    /**
     * 删除费用明细
     * @param ids 费用明细主键id集合
     * @return ResultsDTO
     * @throws Hl7Exception
     */
    @SuppressWarnings("rawtypes")
    public ResultsDTO delInvoiceElementDefManager(List ids) throws Hl7Exception;
    
    /**
     * 修改费用明细
     * @param invoiceElement 费用明细DTO
     * @return ResultsDTO
     * @throws Hl7Exception
     */
    public ResultsDTO updInvoiceElementDefManager(InvoiceElementDTO invoiceElement) throws Hl7Exception;
    
    /**
     * 验证费用编码是否存在
     * @param id 费用编码
     * @param actId 费用主键id
     * @return ResultsDTO(0：表示编码存在    1：表示不存在)
     * @throws Hl7Exception
     */
    public ResultsDTO validationInveId(String id,String actId) throws Hl7Exception;
    
  
    /**
     * 查询费用明细管理
     * @param code 价表分类
     * @param pageDTO 分页DTO
     * @return ResultsDTO
     * @throws Hl7Exception
     */
    public ResultsDTO findInvoiceElementDefList(String code,PageDTO pageDTO) throws Hl7Exception;
    
    /**
     * 把费用信息转换为费用DTO
     * @param inve 费用信息
     * @return InvoiceElementDTO
     * @throws Hl7Exception
     */
    public InvoiceElementDTO converInvoiceElementDTOFormInve(InvoiceElement inve) throws Hl7Exception;
    
    /**
     * 批量修改费用信息
     * @param invoiceElement 费用信息集合
     * @return 修改成功返回1 失败返回0
     * @throws Hl7Exception
     */
    public int batchUpdInvoiceElement(List<InvoiceElementDTO> invoiceElement) throws Hl7Exception;
    
    

}
